FAQ汇萃 >> Tomcat >> 为什么encodeURL() 在 Apache-Tomcat 一起工作的时候不正常? [查看别人的评论]

由 webmaster 发布于: 2001-01-30 10:14

Talking

To: tomcat-user@jakarta.apache.org
Subject: Re: P: session tracking * encodeURL
From: Jason Rumney <jrumney@ipo.att.com>
Date: 18 May 2000 14:38:58 +0100

Johannes_Lorenz@mn.man.de writes:

> Hello,
>
> i use the methode encodeURL for rewriting URLs. It's working, if i use tomcat
> standalone, but it doesn't work in the apache-tomcat environment.
>
> Has anybody else seen this effect?

The problem is that Apache does not recognize the semicolon that
separates the session id from the rest of the URL as being anything
special, so rules based on file extension for example, won't match
properly.

> Is there a workaround (i won't use cookies)?

I have the following rewrite rule in my apache config to fix this:


<IfModule mod_rewrite.c>
RewriteEngine on
# Force URLs with a jsessionid to go to Tomcat. Necessary because
# Apache doesn't recognise that the semi-colon is special.
RewriteRule ^(/.*;jsessionid=.*)$ $1 [T=jserv-servlet]
</IfModule>


If you access a servlet via the standard-http port 80 (either running tomcat on that port or accessing it through apache) the encodeURL and encodeRedirectURL methods don't work properly in Tomcat 3.1. This is fixed in Tomcat 3.2beta2.

点这里对该文章发表评论

该文章总得分是 0 分,你认为它对你有帮助吗? [非常多](0) [有一些](0) [无帮助](0) [是灌水](0)

Copyright © 2001 - 2009 JSP001.com . All Rights Reserved